1. Field of the Invention
The present invention relates to methods of addressing serially-connected addressable devices.
2. Description of the Related Art
In a variety of applications, many devices must be addressed by a central processing unit. For certain applications, addressing the devices in parallel is common. For example, a number of memory devices in computing applications are commonly addressed in parallel by a central processing unit. This parallel addressing requires a dedicated connection from the central processing unit to each memory device. Serial addressing is less common for many applications due to the problems associated with determining for which serially-connected device a signal from the central processing unit is intended. In such applications, a unique address is assigned to each device. In industrial applications, for example, commands to machines controlled by a central processing unit require each machine to be assigned a unique address by, for example, common dual in-line package (DIP) switches. The central processing unit is then programmed to signal each machine by including its unique address attached to a command for that machine. When new machines are added, it must be assigned a unique address and its unique address must be used in the additional programming required to integrate the machine into the system. This problem is illustrated in programmable limit switches.
Programmable limit switches are known and used in a variety of applications. Their most prevalent application is in the use of automated assembly systems, such as a system to assemble diapers. In such systems, the product is moved along a conveyor from workstation to workstation and at each workstation a particular process of the assembly occurs. In the diaper assembly system, for example, one workstation layers a section of absorbent material, while another seals the edges of the layered material. The position of a product in the assembly is monitored by, for example, a resolver connected to the conveyor. The resolver most commonly includes a shaft, which rotates as the conveyor moves products linearly, and circuit means, which detects the rotation of the shaft and sends short pulses to a programmable limit switch.
The programmable limit switch receives position data from a variety of means for measuring position, such as the resolver mentioned, and uses them to control an output device, such as a glue gun, according to pairs of setpoints designated for the output device. Setpoints indicate when an output device is to be turned on and off. An example best illustrates the use of a programmable limit switch. Diapers on the conveyor have a starting edge spaced a certain distance apart, represented by 100 counts of position data, and each extends a length measured by 20 counts. The programmable limit switch controls a glue gun, which needs to apply glue along the edge of each diaper, starting at the second half of the diaper, i.e., 10 counts into the length of the diaper. The programmable limit switch is programmed with a setpoint pair depending upon the starting position of the first product such that the glue gun starts to apply glue 10 counts into the length of each diaper and stops applying glue 20 counts into the length of each diaper. If, then, the starting edge of the first diaper is 50 counts along the conveyor, the pairs of setpoints for three diapers sequentially traveling through the area of glue gun operation are 60 and 70, 160 and 170, and 260 and 270. Thus, when a counter of the PLS reaches 60, for example, its output is activated, or switched on, applying glue beginning half way along the length of the first diaper. When the setpoint 70 is reached, the output is deactivated, or switched off, ending the application of glue at the end of the first diaper's edge. The diaper then proceeds toward the next workstation. The programmable limit switch continues to activate and deactivate the output circuit connected to the glue gun according to the pairs of setpoints for each of the remainder of the diapers along the conveyor.
Of course, a device controlled by the programmable limit switch, such as the glue gun described in the example, can have a constant delay from the time it receives an electrical signal to the time the desired mechanical action occurs. Consequently, an offset is needed so that the electrical signal triggers the device on or off prior to the desired action. The determination of what the offset should be is complicated by the fact that as the velocity of the mechanical system changes, the offset changes. This means that, as the speed of the mechanical system changes, a larger offset is required to compensate for the same mechanical delay. Another complication is that many mechanical devices require two offsets because the delay for activating the device is often different from the delay for deactivating the device.
Prior art devices usually implement the control of such an output in software using a microprocessor. Position signals are provided to the microprocessor, which calculates velocity from two positions at a fixed time interval. The microprocessor computes the offsets using the velocity and adds the offsets to the actual position. These two positions are compared to a table of on/off positions to determine whether a change in output state is performed. This microprocessor can control many output circuits driving output devices from one position reading, but cannot operate at high speeds or with many simultaneously-controlled output circuits without a significant degradation in performance.
These output circuits that drive output devices and are controlled by the microprocessor are generally located on multiple circuit boards, adding the complication that commands sent from the microprocessor must know to which of a plurality of typically identical circuit boards they are addressed. In the prior art, one means of addressing the circuit boards is through the use of DIP switches mounted on each circuit board. The DIP switches set a unique address on each board, which the microprocessor reads to determine whether the command is intended for an output circuit connected to that circuit board or one connected to another circuit board. Similar to the problems previously discussed, each circuit board requires a unique address in order for the microprocessor to distinguish between the boards. Thus, whenever a circuit board is added, a unique address must be set for each new board.
Further, as programmable limit switches incorporate more and more functions due to the inclusion of a more powerful microprocessor, operating such switches has become more complicated and involved, necessitating many hours to understand how to program the microprocessor to create even the simplest set of operating instructions.